package org.shj.basic.traitdemo

/**
 * 自身类型：
 *  this: 类型  => {}
 * 如本例中，LogException 并不扩展 Exception， 而是有一个自身类型 Excepion。
 * 这意味着它只能被混入 Exception 的子类 。因此 getMessage() 是一个合法的方法，
 * 因为它是 Exception 类中的方法
 */
trait LogException{
  this: Exception => 
    def log(){
      print(getMessage())
    }
}